package com.designpatterns.factorypattern;

//4.使用该工厂，通过传递类型信息来获取实体类的对象
//根据名称从工厂类获取对象，不用关心创建对象的具体过程，向上转型
public class FactoryPatternDemo {

    public static void main(String[] args) {
        ShapeFactory shapeFactory = new ShapeFactory();

        // 获取Circle的对象，并调用它的draw方法
        Shape shape1 = shapeFactory.getShape("CIRCLE");
        shape1.draw();

        // 获取Rectangle的对象，并调用它的draw方法
        Shape shape2 = shapeFactory.getShape("RECTANGLE");
        shape2.draw();

        // 获取Square的对象，并调用它的draw方法
        Shape shape3 = shapeFactory.getShape("SQUARE");
        shape3.draw();
    }

}
